package com.ys.day30.p2注解与反射;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 描述: MyAnnotation 自定义注解
 *
 *
 * @author CodeYang
 * @version 2021/1/12 1:20
 */
@Target({ElementType.TYPE,ElementType.FIELD,ElementType.METHOD})  // 标识 该注解可以修饰 类,接口 | 字段 | 方法
@Retention(RetentionPolicy.RUNTIME) // 标识 该注解的保留策略是 运行时,所以可以配合反射一使用
public @interface MyAnnotation {

    /**
     * 定义修饰的目标是否只读
     * @return 默认 false 不是只读 ,true 只读
     */
    boolean readOnly() default  false;

    /**
     * 描述注解信息:
     * @return 描述修饰的目标
     */
    String desc() default "";
}
